filechooserdialog: Stop using ::response-requested
authorMatthias Clasen <mclasen@redhat.com>
Sun, 12 Jul 2020 16:14:32 +0000 (12:14 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Sun, 12 Jul 2020 16:15:08 +0000 (12:15 -0400)
Replace the ::response-requested signal by an action.

gtk/gtkfilechooserdialog.c
gtk/gtkfilechooserwidget.c
gtk/ui/gtkfilechooserdialog.ui

index 094a25f15b92fbd28e56a4745e18a1d2f1901842..f7a16057cc53d213f59eab6091e370e529a89423 100644 (file)
@@ -263,8 +263,9 @@ static void     gtk_file_chooser_dialog_size_allocate (GtkWidget            *wid
                                                        int                   width,
                                                        int                   height,
                                                        int                    baseline);
-static void     file_chooser_widget_response_requested (GtkWidget            *widget,
-                                                        GtkFileChooserDialog *dialog);
+static void     gtk_file_chooser_dialog_activate_response (GtkWidget        *widget,
+                                                           const char       *action_name,
+                                                           GVariant         *parameters);
 
 static void response_cb (GtkDialog *dialog,
                          gint       response_id);
@@ -304,7 +305,8 @@ gtk_file_chooser_dialog_class_init (GtkFileChooserDialogClass *class)
   gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserDialog, widget);
   gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserDialog, buttons);
   gtk_widget_class_bind_template_callback (widget_class, response_cb);
-  gtk_widget_class_bind_template_callback (widget_class, file_chooser_widget_response_requested);
+
+  gtk_widget_class_install_action (widget_class, "response.activate", NULL, gtk_file_chooser_dialog_activate_response);
 }
 
 static void
@@ -360,9 +362,11 @@ is_accept_response_id (gint response_id)
 }
 
 static void
-file_chooser_widget_response_requested (GtkWidget            *widget,
-                                        GtkFileChooserDialog *dialog)
+gtk_file_chooser_dialog_activate_response (GtkWidget  *widget,
+                                           const char *action_name,
+                                           GVariant   *parameters)
 {
+  GtkFileChooserDialog *dialog = GTK_FILE_CHOOSER_DIALOG (widget);
   GtkFileChooserDialogPrivate *priv = gtk_file_chooser_dialog_get_instance_private (dialog);
   GtkWidget *button;
 
index 5eebc04bd321fb88fb5d98563962a932cbca9a18..3f0bddf223098e6a8a3258f8db0bb4420b0869a0 100644 (file)
@@ -5700,6 +5700,7 @@ add_custom_button_to_dialog (GtkDialog   *dialog,
 static void
 request_response_and_add_to_recent_list (GtkFileChooserWidget *impl)
 {
+  gtk_widget_activate_action (GTK_WIDGET (impl), "response.activate", NULL);
   g_signal_emit_by_name (impl, "response-requested");
   add_selection_to_recent_list (impl);
 }
index 99b3700c69feed46f2cddfa910df5ace45ce3542..c48e07f2b5b62e2f3e96290748792f7adc3e44e5 100644 (file)
@@ -20,7 +20,6 @@
           <object class="GtkFileChooserWidget" id="widget">
             <property name="hexpand">1</property>
             <property name="vexpand">1</property>
-            <signal name="response-requested" handler="file_chooser_widget_response_requested" swapped="no"/>
           </object>
         </child>
       </object>